package com.topscore.uke.mvp.contractors;

import com.chad.library.adapter.base.BaseQuickAdapter;
import com.topscore.uke.entities.PerformanceData;
import com.topscore.uke.entities.TeamPerformanceListEntity;
import com.topscore.uke.mvp.BaseContractor;
import com.topscore.uke.mvp.model.BaseHttpListener;
import com.topscore.uke.mvp.views.BaseView;
import com.topscore.uke.network.BaseResponse;
import com.topscore.uke.network.retrofit.ApiService;
import com.topscore.uke.network.retrofit.NetClientPostJson;

import java.util.List;

import lecho.lib.hellocharts.model.ComboLineColumnChartData;

/**
 * Created by 71468 on 2017/11/28.
 */

public interface TeamPerformanceRankContractor extends BaseContractor {
    interface Model{
        ApiService mService = NetClientPostJson.getInstance().net().create(ApiService.class);
        void getData();
        void getRankByAmount(String sortType);
        void getRankByCount(String sortType);
        void getPerformanceByYear();
        void getPerformanceByMonth();
        void getPerformanceByYear(String year);
        void getPerformanceByMonth(String month);
    }
    interface View extends BaseView{
        BaseQuickAdapter getRankAdapter();
        void onGetPerformanceCharDataSuccess(ComboLineColumnChartData lineColumnChartData);
        void onGetPerformanceDataSuccess(String totalAmount,String totalCount);
    }

    interface Presenter{
        void getData();
        void getRankByAmountDESC();
        void getRankByAmountASE();
        void getRankByCountDESC();
        void getRankByCountASE();
        void getPerformanceByYear();
        void getPerformanceByMonth();
        void getPerformanceByYear(String year);
        void getPerformanceByMonth(String month);

    }

    interface CallBack extends BaseHttpListener{
        void onGetRankListSuccess(BaseResponse<List<TeamPerformanceListEntity>> response);
        void onGetPerformanceDataSuccess(BaseResponse<PerformanceData> response);
    }
}
